//
//  HttpDownloadManager.h
//  TestDownload
//
//  Created by luffy on 16/3/10.
//  Copyright © 2016年 luffy. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "RequestDownloadTask.h"

//下载管理器
@interface HttpDownloadManager : NSObject

+ (instancetype)sharedInstance;

@property(atomic) NSMutableDictionary *taskMap;


-(id)init;

/**
 *
 *添加下载任务
 *
 * @param taskName 定义下载任务名称
 * @param objTask 下载任务对象
 */
-(void)addTask:(NSString*)taskName
           Obj:(RequestDownloadTask*)objTask;


/**
 *
 * 删除下载任务
 *
 * @param taskName 定义下载任务名称
 */
-(void)delTask:(NSString*)taskName;


/**
 *
 * 暂停下载任务
 *
 * @param taskName 定义下载任务名称
 */
-(void)pauseTask:(NSString*)taskName;


/**
 *
 * 中断下载任务
 *
 * @param taskName 定义下载任务名称
 */
-(void)stopTask:(NSString*)taskName;


/**
 *
 * 停止所有任务
 *
 */
-(void)stopAllTask;


/**
 *
 * 开始所有任务
 *
 */
-(void)startAllTask;


/**
 *
 * 删除所有任务
 *
 */
-(void)delAllTask;


/**
 *
 * 开始任务
 *
 * @param taskName 定义下载任务名称
 */
-(void)startTask:(NSString*)taskName;


/**
 *
 * 获取某个任务
 *
 * @param taskName 定义下载任务名称
 */
-(RequestDownloadTask*)getTask:(NSString*)taskName;


/**
 *
 * 判断当前任务是否存在
 *
 * @param taskName 定义下载任务名称
 */
- (BOOL)currentTaskExsit:(NSString *)taskName;


@end
